home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #15
/
Monster Media Number 15 (Monster Media)(July 1996).ISO
/
utils
/
ramdsk17.zip
/
RAMDISK.TXT
< prev
next >
Wrap
Text File
|
1996-04-25
|
7KB
|
161 lines
XMSDSK.EXE
&
EMSDSK.EXE
Franck UBERTO - 96/04/25
38000 Grenoble - FRANCE
email : uberto@esrf.fr
These utilities are 2 RAMdisks. For some people they surely will lack of
some "bells and whistles", but I made them efficient and simple to use.
There are 2 programs because I wanted to optimize size and speed, so one is
for XMS and the other one is for EMS.
To get help for running them, just type: XMSDSK (or EMSDSK) /?.
You can use them on 286 and upper (use EMSDSK86 for 8086 CPU). Once installed
they will occupy about 400 bytes.
You can resize the disk (down to zero, or up to 32 Mb if available) at any
time and so regain memory for another usage. This is possible on DOS command
line but *NOT* under WINDOWS because of virtualization. The transient part of
EXE will calculate all parameters for the new disk (I use the same ones as
MS-DOS for hard disk, so they should be convenient for all cases).
Take care, if you shell out of a DOS program and modify the size of the disk:
in the case you have set TEMP (or TMP) environment variable on the ramdisk or
you have told this program to use the RAM disk, then some (hidden) files may
have been created and some (not) pleasant things can happen.
These RAM disks can be installed *ON THE COMMAND LINE* (and hence in
autoexec.bat for example, see below) BUT THE PREFERRED WAY IS IN CONFIG.SYS,
because these drivers are standard ones.
Although the installation method (on command line) has been successfully tested
on MS-DOS 3.x, 4.0, 5.0, 6.x (adapted years ago from "Undocumented DOS" by
Andrew Schulman, Addison-Wesley), it can't be certified that other MS-DOS
versions or 'clones' support it.
By _SPECIFING A DRIVE_ this permits to install the RAM disk on a given drive
between or after CDROM and network disks (some people want to have them at
given 'letter' drives; unfortunately MS-DOS assigns drive name as they are
loaded). BTW this method can improve some disk cache behaviour (if it can't
disable caching for a given drive by this way it doesn't see the RAM disk and
so doesn't try to cache it; it is not only superfluous to cache a RAM disk but
it wastes cache ressources).
NB: for a drive to be successfully used when specified on the command line
one must take care that this drive is ** <= LASTDRIVE **, default value
(when not set in config.sys) is E.
You can use and distribute these files: it's freeware.
So ENJOY ...
* Some hints ...
-----------------
XMS memory is allocated in _contiguous_ block. So you can have the surprise
of not being able to resize XMSDSK although MEM (or other) reports that you
have plenty of XMS mem available, strange isn't it ?
The fact is that other programs requested fixed, may be, blocks of memory
and now XMS mem is _fragmented_. Yes just like old DOS memory !
The solution is to load programs which need fixed mem blocks _before_ XMSDSK
so as to prevent XMS fragmentation. This way you'll be able to resize XMSDSK
from 0 to up the last Kbyte of available XMS memory.
Note that on some systems fragmentation can nevertheless persists: this is
related to the way these BIOS or hardware configuration deal with upper mem.
This fragmentation is not seen with EMSDSK because EMS mem (true or emulated)
is, sort of, 'scrambled' to appear to be contiguous.
* Examples of use
------------------
device[high]='path'\XMSDSK.EXE [size in Kbytes] (or EMSDSK.EXE)
Install ramdisk in config.sys.
If size is not specified then disk has a null size.
If the RAM disk is not loaded, at the first time the EXE will be run it
will ask to do it. So if you want to do it purposely, in autoexec.bat for
example, type:
loadhigh XMSDSK [size in Kbytes] [drive:] /y (or EMSDSK)
This will try to load driver in upper mem without being prompted.
If a drive is specified then it will be tried otherwise first available
drive will be used. Drive must be <= LASTDRIVE (in config.sys).
XMSDSK (or EMSDSK)
On DOS command line, tells you the size and drive used by the ramdisk.
XMSDSK <size in Kbytes> (or EMSDSK)
Modify the size of the ramdisk.
XMSDSK <size in Kbytes> /y (or EMSDSK)
In a batch file this prevents being prompted when modifying size.
XMSDSK (and EMSDSK) returns a value which can be used with "errorlevel"
to tell where it is installed: 0 if not installed or in case of error,
1 for drive A (huh ?), 2 for B (huh huh ?), 3 for C (hmmm ?), etc ...
NB: size is in Kbytes (1024 bytes) and rounded to the upper 16 Kbytes.
* History
----------
v1.0 (May 92) Initial version.
v1.1 (Jun 92) Adds some optimization in resident part.
v1.2 (Oct 93) Adds some tests in size redefinition part.
v1.3 (Apr 94) Corrects a bug when requested size was around 4000 Kb
and another one which limited size to 16 Mb.
Adds more accurate error messages instead of "error
during installation".
v1.4 (Feb 96) Some cosmetic cleaning.
v1.5 (Mar 96) Add possibility of installation on the command line.
v1.6 (Apr 96) Drive to be used can be specified on the command line.
Correct a bug which prevent compatibility with SCANDISK
(may be other ?) program.
Add option y.
v1.7 (Apr 96) Bug fix.
Thanks, for their help and testing (or suggestion), to:
Frank Decandia <frank.decandia@agoron.com>
Lee Goldstein <72077.2054@compuserve.com>
Bernard Marone <marone@conline.com>
Pino Navato <Pino.Navato@p18.f225.n335.z2.fidonet.org>
Jim Oliver <jim.oliver@welcom.gen.nz>
Michel Peru <peru@esrf.fr>
Vladimir Plotto <V.Plotto@frec.bull.fr>
Mike Ray <mer1@cornell.edu>
John Stockton <jrs@dclf.npl.co.uk>
Michel Toussaint <100334.2645@compuserve.com>
PS: as you may have seen this package is FREEWARE. I would be glad if you
appreciate (more :-) or less :-( ) it to send a little Email message.
Thanks.
PS2: these utilities (at least XMSDSK) have been used with Linux + Dosemu and
work well.
* Disclaimer
-------------
Copyright (C) 1992 - 1996 Franck UBERTO
This package is offered to you "AS IS" without any warranty. This software has
been thoroughly tested but no guarantee is given that it will work on every
computer. The copyright owner may not be held liable for any damages, direct
or consequential, which may result from the the use of this program.
This archive is freely distributable. You may use the software and share it
with all your friends (or others) as long as the program is supplied in its
original, unmodified form, which includes this documentation. This program
must not be distributed for profit.